import Vue from 'vue'
import VueRouter from 'vue-router'
import store from "../store"

Vue.use(VueRouter)

export const IndexRoutes = [{
    path: "menu",
    component: () => import("../pages/menu/menu.vue"),
    meta: {
      title: "菜单管理"
    }
  },
  {
    path: "role",
    component: () => import("../pages/role/role.vue"),
    meta: {
      title: "角色管理"
    }
  },
  {
    meta: {
      title: "管理员管理"
    },
    path: "manage",
    component: () => import("../pages/manage/manage.vue")
  }, {
    meta: {
      title: "商品分类"
    },
    path: "cate",
    component: () => import("../pages/cate/cate.vue")
  },
  {
    meta: {
      title: "商品规格"
    },
    path: "specs",
    component: () => import("../pages/specs/specs.vue")
  },
  {
    meta: {
      title: "商品管理"
    },
    path: "goods",
    component: () => import("../pages/goods/goods.vue")
  },
  {
    meta: {
      title: "轮播图管理"
    },
    path: "banner",
    component: () => import("../pages/banner/banner.vue")
  }, {
    meta: {
      title: "会员管理"
    },
    path: "vip",
    component: () => import("../pages/vip/vip.vue")
  },
  {
    meta: {
      title: "秒杀活动"
    },
    path: "seckill",
    component: () => import("../pages/seckill/seckill.vue")
  }
];

// 路由独享守卫，循环添加
IndexRoutes.forEach(item=>{
  item.beforeEnter=(to,from,next)=>{
    // let userInfo = store.getters.userInfo;
    let {getters:{userInfo}} = store;
    if(userInfo.menus_url.includes('/'+item.path)){
      next()
    }else{
      next("/")
    }
  }
});

const routes = [{
    path: '/login',
    component: () => import("../pages/login/login.vue")
  },
  {
    path: "/",
    component: () => import("../pages/index/index.vue"),

    children: [{
        path: "",
        component: () => import("../pages/home/home.vue")
      },
      ...IndexRoutes
    ],
  }
]

//
const router = new VueRouter({
  routes
})

//全局前置守卫
router.beforeEach((to,from,next)=>{
  if(to.path=="/login"){
    next();
    return
  }
  if(sessionStorage.getItem("userInfo")){
    next();
    return;
  }
  next("/login");

})

export default router